import axios from "axios"

const baseURL = "https://open.nfclass.com/management/"

const request = axios.create({
    // TODO 1. 基础地址，超时时间
    baseURL,
    timeout: 5000
})

// 功能6 axios请求拦截 在发请求之前 对请求进行处理 一般把本地token添加到请求头里面执行登录认证, 这样在发请求时就不用考虑并处理token了
request.interceptors.request.use(request=>{

    // console.log("axios请求拦截",request); // config参数是请求的配置信息
    // let token = sessionStorage.getItem("token") //从本地取出token
    // 登录授权 请求验证是否有token  需要授权的 API ，必须在请求头中使用 `Authorization` 字段提供 `token` 令牌(具体字段由服务器后台定义)
    // token && (request.headers.Authorization=token)
    console.log("请求")
    return request
},error=>{
    return Promise.reject(error) // 返回错误
})

// 功能7 axios的响应拦截, 可在这里对响应数据或响应头做处理
request.interceptors.response.use(response=>{
    console.log("响应")
    // axios响应数据会封装到一层data字段中, 把data字段剥开,返回原始响应
    return response.data
},error=>{
    return Promise.reject(error)
})


export function get(url,params){
    return request.get(url,params)
}

export function post(url,data){
    return request.post(url,data)
}

export default request //导出二次封装的axios
